package top.milkbox.service;

import javax.servlet.http.HttpSession;

/**
 * 邮箱验证码操作
 */
public interface EmailVerificationCodeService {

    /**
     * 在图片验证码正确的条件下，向指定的邮箱发送邮件验证码
     *
     * @param session 用户session，主要用户获取图片验证码
     * @param code 用户输入的验证码
     * @param targetEmail 目标邮箱地址
     * @return 成功返回true，失败返回false
     */
    Boolean sendEmail(HttpSession session, String code, String targetEmail);

    /**
     * 校验要注册的邮箱是否是接收邮箱验证码的邮箱
     * 校验邮箱验证码是否正确
     * 校验成功后将session中的邮箱验证码销毁，而邮箱地址保留
     *
     * @param session 用户session，用于获取发送邮件时使用的邮箱，以及邮箱的正确验证码
     * @param userEmail 用户输入的邮箱
     * @param emailCode 用户输入的邮箱验证码
     * @return 成功返回true
     */
    Boolean checkEmail(HttpSession session, String userEmail, String emailCode);
}
